Приветствую!
Система мониторинга серверов. Специфическая, под задачу.
На php генерируется около 30 js-строк вида
setTimeout('load_data(\'".$row[0]."\')', 50);
вызывающие функцию load_data одновременно с разными параметрами. Это срабатывает, в отладке появляется сразу пачка запросом от функции
function load_data(id) {
var xmlhttp = new XMLHttpRequest();
var url = "scriptname.php?id="+id;
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var result = JSON.parse(xmlhttp.responseText);
show_data(id,result);
}
setTimeout('load_data('+id+')', 100);
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
функция навешивает на окончание запроса обработку полученных данных (показ на странице) и "планирует" сама себя через setTimeout, через 100 мс.
Вот тут и вопрос. После первой "пачки" все остальные запросы идут в очереди. А так как скрипт, к которому обращается xmlhttprequest, работает 2-3 секунды, то и обновление идет черезвычайно долго.
В общем, запрос первый раз идут пачкой, а в дальнейшем - по очереди, один запрос в 2-3 секунды, хотя как мне думается, тоже должны идти пачкой.
Отчего так? Спасибо!